home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
United Public Domain Gold 4
/
United Public Domain Gold 4.iso
/
fredfish
/
ff.0164.dms
/
ff.0164.adf
/
C-Functions
/
MakeName.c
< prev
next >
Wrap
C/C++ Source or Header
|
1988-11-22
|
16KB
|
1,175 lines
/* Program for random Names */
/* (C)Copyright 1988 by Lars Thuring */
/* May be freely distributed and used for any purpose as long as
the Copyright notice is left unchanged. */
/* 880620 V1.0 First; names ported from Metric 8's (CP/M).
About 10 % of the names are from Travesty. */
/* 880911 V1.1 bugs removed. */
/* To do: replace the RANDOM function */
#include <exec/types.h>
#include "MakeName.h"
#define GIRLS (sizeof(Girls)/sizeof(UBYTE *))
#define BOYS (sizeof(Boys)/sizeof(UBYTE *))
#define LASTS (sizeof(Last)/sizeof(UBYTE *))
#define RANDOM (USHORT) (emaNdesUtoN += 121 )&511
int emaNdesUtoN = 17; /* A not so random number */
extern UBYTE *stpcpy();
int MakeName(result, func, sex) /* What this is */
UBYTE *result; /* Where to put result */
USHORT func, /* What is wanted by caller */
sex; /* */
{
static UBYTE *Girls[] =
{
"Acie",
"Adele",
"Adeleide",
"Adelila",
"Adina",
"Afton",
"Aftonia",
"Agnes",
"Aina",
"Alexandra",
"Alice",
"Alireza",
"Amanda",
"Amii",
"Amy",
"Andromeda",
"Angela",
"Angelica",
"Anirul",
"Ann",
"Annabel",
"Anne",
"Anneka",
"Annie",
"Antonia",
"Arlen",
"Arlene",
"Asa",
"Astra",
"Athana",
"Babis",
"Barbara",
"Barbi",
"Beatrice",
"Beatricia",
"Belinda",
"Bertha",
"Beth",
"Betty",
"Billie",
"Bim",
"Bitte",
"Bodica",
"Bodil",
"Boel",
"Brenda",
"Briella",
"Brigitte",
"Bunnie",
"Caiza",
"Cajsa",
"Caria",
"Carisa",
"Carla",
"Carmen",
"Cathea",
"Carole",
"Caroline",
"Carolita",
"Cat",
"Catha",
"Cathea",
"Catherine",
"Cathy",
"Cecilia",
"Chao",
"Charlotte",
"Charyn",
"Cherie",
"Cherry",
"Cheryl",
"Chrebelia",
"Christine",
"Chryssie",
"Chrystle",
"Cina",
"Cinderella",
"Cindy",
"Connie",
"Constanzia",
"Cvilin",
"Daisie",
"Dana",
"Danuta",
"Dar",
"Dawn",
"Deborah",
"Debra",
"Dee",
"Delicath",
"Delila",
"Denise",
"Desire",
"Diana",
"Dionne",
"Dionneka",
"Disa",
"Dobora",
"Dollie",
"Donna",
"Dora",
"Dorace",
"Doreen",
"Doreena",
"Doris",
"Dorothea",
"Dorothy",
"Eilen",
"Elica",
"Elin",
"Elisabeth",
"Elisha",
"Elissa",
"Eliza",
"Ellen",
"Ellie",
"Elsie",
"Emanuelle",
"Emanuta",
"Emy",
"Erika",
"Erina",
"Eve",
"Ewe",
"Fay",
"Felicy",
"Florah",
"Floreen",
"Florens",
"Franciska",
"Friday",
"Gabriella",
"Gelina",
"Georgia",
"Gigi",
"Gilda",
"Gina",
"Gisella",
"Git",
"Grace",
"Grete",
"Gwen",
"Hanna",
"Hariet",
"Hazel",
"Heidi",
"Hekla",
"Helena",
"Helene",
"Hereza",
"Hrefna",
"Ilia",
"Iliona",
"Inga",
"Ingela",
"Ingrid",
"Irene",
"Irina",
"Iris",
"Isadora",
"Jana",
"Jane",
"Janet",
"Janicke",
"Janina",
"Janni",
"Jennifer",
"Jenny",
"Jessica",
"Jill",
"Joan",
"Jolene",
"Juana",
"Juanita",
"Judy",
"Julie",
"June",
"Karen",
"Karensia",
"Katalica",
"Katarina",
"Kathleen",
"Katinka",
"Katja",
"Kelly",
"Kia",
"Kim",
"Lana",
"Laila",
"Laura",
"Leia",
"Lena",
"Lesa",
"Letia",
"Li",
"Lilly",
"Linda",
"Lindane",
"Lindy",
"Ling",
"Lisa",
"Lisbeth",
"Lisha",
"Liv",
"Liza",
"Lo",
"Lola",
"Lone",
"Loraine",
"Lori",
"Lotta",
"Lousie",
"Lucia",
"Lucy",
"Ludmilla",
"Magdalena",
"Maggie",
"Mahelia",
"Maia",
"Malin",
"Malou",
"Malousie",
"Marcia",
"Margot",
"Margret",
"Mari",
"Maria",
"Mariana",
"Marianne",
"Marie",
"Marilyn",
"Marina",
"Marita",
"Marith",
"Marlene",
"Marlotta",
"Martha",
"Mary",
"May",
"Meg",
"Melissa",
"Meliza",
"Melody",
"Mia",
"Mika",
"Mikaela",
"Mindy",
"Minnie",
"Miriam",
"Modesty",
"Monica",
"Monique",
"Nadia",
"Nadine",
"Nancy",
"Nanette",
"Nanna",
"Natalia",
"Nathalie",
"Narelle",
"Nellie",
"Nena",
"Neutricia",
"Nicole",
"Nina",
"Nora",
"Olga",
"Olivia",
"Pam",
"Pamela",
"Patricia",
"Patty",
"Paula",
"Paule",
"Peggy",
"Pia",
"Petra",
"Pris",
"Priscilla",
"Qrissie",
"Racey",
"Randy",
"Rebecca",
"Rhoda",
"Ria",
"Rita",
"Roberta",
"Rodica",
"Rose",
"Rosita",
"Roxanda",
"Roxandy",
"Roxanne",
"Ruth",
"Ruzica",
"Saga",
"Sally",
"Samantha",
"Sandra",
"Sarah",
"Scase",
"Schwester",
"Sharon",
"Sharyn",
"Sheena",
"Sheila",
"Shirlen",
"Shirley",
"Sireza",
"Siri",
"Sita",
"Slavisa",
"Sonia",
"Sophie",
"Stasia",
"Stella",
"Stellie",
"Stephania",
"Stephanie",
"Stevie",
"Sue",
"Susan",
"Susie",
"Svetlana",
"Sylvie",
"Taarna",
"Tammy",
"Tania",
"Terry",
"Theofania",
"Therese",
"Thereza",
"Therine",
"Thlena",
"Tina",
"Titti",
"Toni",
"Tracey",
"Tricia",
"Ursula",
"Valerie",
"Valexanda",
"Vega",
"Vera",
"Vicky",
"Victoria",
"Vladeta",
"Voux",
"Wanda",
"Wendy",
"Xandra",
"Xanna",
"Xarah",
"Yeane",
"Yeanet",
"Yrsa",
"Yvette",
"Zandra",
"Zarah",
"Zora",
};
static UBYTE *Boys[] =
{
"Abraham",
"Ace",
"Adam",
"Adins",
"Adolf",
"Albert",
"Alexander",
"Alfred",
"Allan",
"Alph",
"Amadeus",
"Anatolij",
"Andrea",
"Andrew",
"Andrzej",
"Andy",
"Anton",
"Arichris",
"Arny",
"Artheils",
"Arthur",
"August",
"Balder",
"Barry",
"Bartholomy",
"Belouis",
"Ben",
"Benny",
"Bereket",
"Bert",
"Bertrand",
"Billy",
"Bo",
"Bob",
"Bobba",
"Bobby",
"Borgen",
"Boris",
"Brian",
"Bruce",
"Byggart",
"Caiser",
"Carl",
"Casper",
"Castor",
"Ceasar",
"Cecil",
"Chagart",
"Chan",
"Chanustvan",
"Charlie",
"Chen",
"Ching",
"Chris",
"Christopher",
"Chuck",
"Clark",
"Cole",
"Colin",
"Conrad",
"Cryt",
"Cztan",
"Dan",
"Danny",
"Dante",
"Dave",
"David",
"Davy",
"Derek",
"Del",
"Desmond",
"Deuincard",
"Dino",
"Djehuty",
"Don",
"Donny",
"Douglas",
"Duch",
"Duncan",
"Ector",
"Ed",
"Eddie",
"Edgar",
"Edinus",
"Edrick",
"Edward",
"Egon",
"Egor",
"Enrico",
"Eremir",
"Erik",
"Erloff",
"Erland",
"Ernst",
"Errol",
"Erwin",
"Eugene",
"Euie",
"Feodor",
"Fermo",
"Finn",
"Fjodor",
"Force",
"Ford",
"Frank",
"Frankie",
"Frans",
"Fred",
"Fredrik",
"Frekenlof",
"Fritz",
"Gantigor",
"Gary",
"George",
"Gert",
"Gregor",
"Gregory",
"Greville",
"Guerew",
"Guerney",
"Gustaf",
"Gustanislav",
"Hagar",
"Hakki",
"Han",
"Hank",
"Hans",
"Harold",
"Harry",
"Heinrich",
"Heinz",
"Henry",
"Herman",
"Horace",
"Horst",
"Hubengt",
"Hubert",
"Huck",
"Ian",
"Ianislav",
"Ibraim",
"Icchok",
"Igor",
"Istvan",
"Ivan",
"Ivo",
"Jack",
"Jacob",
"Jacobby",
"Jalob",
"James",
"Jan",
"Janus",
"Jason",
"Jean",
"Jens",
"Jeremia",
"Jerry",
"Jim",
"Joakim",
"Jock",
"Joe",
"Johann",
"John",
"Jon",
"Jonalder",
"Jonas",
"Jonny",
"Jonriste",
"Josef",
"Josefan",
"Joshua",
"Joss",
"Juan",
"Julfgart",
"Julius",
"Jupiter",
"Jurgen",
"Juri",
"Kard",
"Karsten",
"Keith",
"Keik",
"Kendrick",
"Kent",
"Kirk",
"Klaus",
"Kurge",
"Kurgenn",
"Kurt",
"Kyle",
"Kwan",
"Lando",
"Lance",
"Larry",
"Larth",
"Lekakon",
"Lennart",
"Leon",
"Leonard",
"Leonid",
"Leopold",
"Lev",
"Liet",
"Linus",
"Lionell",
"Lober",
"Lonnie",
"Lou",
"Louie",
"Ludomir",
"Ludwig",
"Lucah",
"Luke",
"Lywas",
"Magnus",
"Manfred",
"Manuel",
"Marcus",
"Marek",
"Mark",
"Marstvanie",
"Martin",
"Marty",
"Marvin",
"Marvince",
"Matz",
"Mattheo",
"Matthew",
"Max",
"Menachin",
"Michael",
"Micah",
"Mihail",
"Mikael",
"Milan",
"Mitchell",
"Mordred",
"Napoleon",
"Nathan",
"Neil",
"Nreda",
"Nike",
"Niklaus",
"Nils",
"Nolan",
"Norman",
"Nyls",
"Oliver",
"Oloda",
"Ontitrew",
"Oscar",
"Otto",
"Ozwald",
"Pat",
"Patrichail",
"Patrick",
"Patrico",
"Paul",
"Per",
"Percy",
"Perez",
"Pete",
"Peter",
"Petri",
"Petrov",
"Philip",
"Piotr",
"Platon",
"Prozka",
"Rachantor",
"Raija",
"Raim",
"Ralph",
"Randolph",
"Rankon",
"Ray",
"Reynold",
"Rickard",
"Rex",
"Robert",
"Rod",
"Rodrick",
"Rodriguez",
"Roger",
"Roman",
"Romeo",
"Ronald",
"Ronnie",
"Ruben",
"Rudolph",
"Rupert",
"Sam",
"Samarcy",
"Sean",
"Seandred",
"Sebahat",
"Sedilow",
"Sentibon",
"Simon",
"Sokrates",
"Song",
"Staf",
"Stanislav",
"Stanley",
"Stefano",
"Stern",
"Steve",
"Stephen",
"Steyern",
"Sven",
"Swan",
"Swaron",
"Tadeus",
"Theo",
"Thomas",
"Tigran",
"Tim",
"Timmothy",
"Toldeus",
"Tolino",
"Tom",
"Tommy",
"Tsan",
"Tyko",
"Ukriel",
"Ulph",
"Uno",
"Ustalij",
"Valentino",
"Viktor",
"Vince",
"Vladimir",
"Vlado",
"Vodrick",
"Walph",
"Walter",
"Wenlon",
"Werner",
"Wernst",
"William",
"Winston",
"Wolfgang",
"Wytt",
"Xavier",
"Xerxes",
"Xin",
"Xodrick",
"Yaspar",
"Yerr",
"Yonndan",
"Yosin",
"Yrtvar",
"Zaqarias",
"Zjell",
"Zjerez",
"Zkelly",
"Zor",
"Ztanton",
"Zwen",
};
static UBYTE *Last[] =
{
"Acerin",
"Ahim",
"Ahino",
"Ajbeam",
"Aldersson",
"Allan",
"Altenfelt",
"Amour",
"Ancherinsky",
"Andersson",
"Azid",
"Aztec",
"Austinn",
"Bak",
"Banner",
"Bazar",
"Beachsleeper",
"Beluni",
"Belt",
"Benson",
"Brenner",
"Birdsong",
"Black",
"Boot",
"Boq",
"Bowman",
"Brewas",
"Bronering",
"Brown",
"Buckman",
"Burst",
"Butterworth",
"Cabrini",
"Calrisen",
"Carlton",
"Carpenter",
"Ceilo",
"Cerewman",
"Cerial",
"Ceringer",
"Cersjavv",
"Chessman",
"Chest",
"Cicero",
"Cinger",
"Citz",
"Comet",
"Coneyervie",
"Connor",
"Coral",
"Crabb",
"Craydon",
"Creditmaker",
"Creek",
"Crewman",
"Crodden",
"Dantman",
"Dean",
"Degalaxian",
"Denocharsky",
"Denulallan",
"Dew",
"Dezzabo",
"Dhrystone",
"Dimitrov",
"Donovan",
"Doublestar",
"Drake",
"Dweller",
"Eagle",
"Earjun",
"Earthson",
"Earton",
"Effing",
"Erakel",
"Essin",
"Eufreim",
"Evody",
"Ezhariann",
"Farahd",
"Ferraro",
"Fighter",
"Finkel",
"Fisher",
"Florian",
"Flower",
"Flynn",
"Ford",
"Fox",
"Franklin",
"Frewie",
"Gack",
"Gail",
"Gheenili",
"Ghoerrgh",
"Gionetti",
"Glava",
"Gold",
"Goldberg",
"Goodaim",
"Goodder",
"Goodman",
"Goodweather",
"Gordon",
"Gosneti",
"Gosnil",
"Gravatte",
"Green",
"Hadji",
"Hagar",
"Halfmoon",
"Hallanchu",
"Hallway",
"Hamilton",
"Harding",
"Hargarjumoongdoray",
"Harmony",
"Harryson",
"Hauptcvard",
"Heywiss",
"Hiker",
"Hill",
"Hogan",
"Honeybin",
"Honeydew",
"Hoper",
"Hornetsnest",
"Ianiskov",
"Idento",
"Ingonti",
"Ionsson",
"Ixat",
"Jade",
"Jeser",
"Jewel",
"Jofo",
"Johnsson",
"Johnsdaughter",
"Jones",
"Jonydew",
"Jong",
"Joygiver",
"Joysony",
"Jumour",
"Junone",
"Kahn",
"Kahl",
"Kaido",
"Kainor",
"Kasasov",
"Kernigan",
"Khild",
"Khilinovich",
"Khy",
"King",
"Kirley",
"Kneecup",
"Krakov",
"Kvov",
"Kwang",
"Landerring",
"Langer",
"Laser",
"Laxiander",
"Leffler",
"Lexander",
"Lichentheim",
"Lifeadder",
"Lifeat",
"Lipoli",
"Lockander",
"Lojiues",
"Lorakel",
"Loudrope",
"Lovefull",
"Loveletter",
"Luckring",
"Lutihs",
"Ly",
"Manger",
"Mannight",
"Manning",
"Margarin",
"Massart",
"Maxwell",
"Mcgarret",
"Mckelly",
"Meiper",
"Menom",
"Meyer",
"Michailov",
"Micharman",
"Mindfull",
"Ming",
"Mips",
"Mnoir",
"Mnolwan",
"Mono",
"Moonrue",
"Moonsinger",
"Moonstone",
"Mordinger",
"Morningdew",
"Muchsword",
"Muhammed",
"Muharmann",
"Napuce",
"Nebulae",
"Nestor",
"Ngomo",
"Nix",
"Nokillis",
"Nokin",
"Nokinderch",
"Nolan",
"Northbranch",
"Oedor",
"Occam",
"Ongstrom",
"Oven",
"Oysterman",
"Ox",
"Palsystem",
"Parth",
"Parton",
"Pascal",
"Pascanlon",
"Peck",
"Perrin",
"Persson",
"Pfaifer",
"Pilotman",
"Piper",
"Pointer",
"Potter",
"Principal",
"Probxs",
"Pulsar",
"Qeres",
"Quatro",
"Quasar",
"Qwait",
"Radannel",
"Rawanna",
"Redanel",
"Reinstrom",
"Rejgun",
"Renqiong",
"Ringer",
"Rinneyell",
"Ritchie",
"Rijas",
"Robins",
"Rocktree",
"Round",
"Rymer",
"Sagil",
"Saunder",
"Sayed",
"Scanlon",
"Screy",
"Scythe",
"Scotch",
"Scott",
"Seablue",
"Searsia",
"Searunner",
"Seddije",
"Sefex",
"Seliah",
"Senkaido",
"Serenson",
"Servin",
"Shenulaxiah",
"Shepherd",
"Shinomoto",
"Shipman",
"Shuttle",
"Sing",
"Skynote",
"Smith",
"Southstar",
"Spearthrower",
"Starbeam",
"Starjumper",
"Starlight",
"Starman",
"Staryell",
"Statler",
"Staunton",
"Stein",
"Stern",
"Stephenson",
"Stewart",
"Strawberry",
"Sulimani",
"Sunday",
"Sunmedoedaught",
"Sunmeyer",
"Sunrise",
"Sunshine",
"Swetidov",
"Swinger",
"Szinsky",
"Taipi",
"Tait",
"Tanner",
"Tal",
"Techu",
"Thebah",
"Temple",
"Tiblis",
"Tirpitz",
"Tjebyshev",
"Toolmaker",
"Tough",
"Traveller",
"Turner",
"Tyler",
"Uanarish",
"Ubbanen",
"Upholder",
"Upperhand",
"Vainray",
"Vajsii",
"Vloda",
"Vier",
"Volt",
"Walker",
"Wall",
"Walsh",
"Wanderer",
"Warmaker",
"Waverider",
"Westling",
"Whetstone",
"Wilde",
"Wintergate",
"Wiper",
"Wirth",
"Witter",
"Wonderchild",
"Wood",
"Woolwinder",
"Wrongdoer",
"Wusser",
"Wynn",
"Xann",
"Xathroda",
"Xavier",
"Xyperia",
"Yoke",
"Yuwing",
"Zahnen",
"Zaks",
"Zandor",
"Zargon",
"Zemin",
"Zollman",
"Zax",
};
int Error=NULL; /* Return code */
USHORT a = RANDOM;
if (func & TITLENAME) /* The only way to determine sex */
{ /* with some names ... */
if (sex & BOYNAME)
result = stpcpy(result, "Mr ");
else
{
if (func & MARRIEDNAME)
result = stpcpy(result, "Mrs ");
else
result = stpcpy(result, "Ms ");
}
}
if (func & FIRSTNAME)
{
if (sex & GIRLNAME)
{
while (a > GIRLS)
a = RANDOM;
result = stpcpy(result,Girls[a]);
a = RANDOM;
}
else if (sex & BOYNAME)
{
while (a > BOYS)
a = RANDOM;
result = stpcpy(result,Boys[a]);
a = RANDOM;
}
}
if (func & LASTNAME)
{
if (func & FIRSTNAME)
*result++ = ' ';
while (a > LASTS)
a = RANDOM;
result = stpcpy(result,Last[a]);
a = RANDOM;
}
*result = '\0';
return(Error);
} /* End of MakeName() */